maintenance, this allows the compiler to enforce type checking of the arguments, reducing type-conversion bugs.
The default file scope for function identifiers can be restricted with the 'static' specifier*, which disallows access from source files other from the one in which the function is defined.
Functions cannot have block scope, but TC and C++ functions can have class scope (Chapter 4). This limits the function's scope to that of the body of data with which it is associated, which itself may be block scope, and to the bodies of other functions of the same class.